2

jQuery Ajax 常用方法

1. load() :jQuery load() 方法是简单但强大的jQuery方法。

语法: $(selector).load(url,data,callback);
-url: 必需填的。 规定希望加载的url。
-data: 选填。 规定与请求一同发送的查询字符串键值对集合。
callback: 选填。 load()完成后所执行的函数。

例 :$("#div1").load("test.txt");
如果相同路径下有一个test.txt文件,那么这个方法就会将这个文件加载到id为div1的div中。

除了上面加载整个文件,还可以这样用:

$("#div1").load("text.txt #p1");
这个方法可以将text.txt文件中的id为p1的元素加载到这个div中。

2. ajaxSend() :在ajax请求执行前执行函数,这是一个ajax事件。
语法: .ajaxSend([function(event,xhr,options)]);
参数: function(event,xhr,options); (必需的)

  - event 包含event对象
  - xhr 包含XMLHttpRequest对象
  - options 包含ajax请求中使用的选项
  
例子: $(document).ajaxSend(function(e,xhr,opt){
        $(this).html("Requesting" + opt.url);
      });
      //这个例子是绑定在document上面的,在这个DOM中,任何一个ajax请求执行前,都会触发这个事件,这个例子是在ajax事件触发的时候将ajax访问的地址写在页面上。

3. ajaxComplete() : ajax请求完成后注册要调用的处理程序,与ajaxSend相反,语法一样。

4. ajaxError() : 当ajax请求完成且出现错误时注册要调用的处理程序。

5. ajaxStart() :在第一个ajax请求开始时执行。
平时我们写js的时候,是可以几个ajax请求一起执行的,但是也会有个执行的先后顺序。这个事件呢,是在第一个ajax执行前被触发,与ajaxSend不同,当有几个ajax请求一起进行的时候,ajaxSend就会有几个请求执行几次,而ajaxStart总共就只会执行一次,那就是第一个ajax请求开始时。

语法: .ajaxStart(function());

6. ajaxStop() :在最后一个ajax请求结束时执行。

这几个方法的区别 :

  • ajaxStart(): 在第一个ajax请求开始时触发,只会执行一次。
  • ajaxStop() : 在最后一个ajax请求结束后触发,只会执行一次。

上述两个方法的参数function()是没有参数的。

  • ajaxSend() : 在每个ajax请求开始时触发,几次请求就执行几次。
  • ajaxComplete() : 在每个ajax请求结束后触发,几次请求就执行几次。

上述两个方法的参数function都是有参数的:function(event,xhr,options)。

注意:在jQuery1.9中,上列所有ajax事件都必须绑定在document中监听。
$(document).ajaxStart(function(){});


楼子
85 声望5 粉丝

Keep calm


引用和评论

0 条评论